#include<bits/stdc++.h>
using namespace std;
//struct words {
//	int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z;
//};
int main()
{

	int n;
	cin >> n;
	unordered_map<string,int> map;
	for (int i = 0; i < n; i++) {
		string s;
		cin >> s;
		sort(s.begin(),s.end());
		map[s] += 1;
	}
	cout << map.size();
//	vector<words> a;
//	for (int i = 0; i < n; i++) {
//		string s;
//		cin >> s;
//		words w;
//		for (int j = 0; j < s.length(); j++) {
////			a[i].s[j] += 1;
//			w.s[j] += 1;
//
//		}
//		if(a.back() != w){
//			a.push_back(w);
//		}
//	}
	return 0;
}
